package com.zillion.health.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zillion.common.annotation.Excel;
import com.zillion.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 从业人员预约对象 health_employee_reserve
 *
 * @author zillion
 * @date 2025-06-09
 */
public class HealthEmployeeReserve extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String idCard;

    /**
     * 电话
     */
    @Excel(name = "电话")
    private String phone;

    /**
     * 预约医院
     */
    @Excel(name = "预约医院")
    private String reserveHospital;

    /**
     * 预约日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reserveDate;

    /**
     * 预约时间
     */
    @Excel(name = "预约时间")
    private String reserveHour;

    /**
     * 是否单位
     */
    @Excel(name = "是否单位")
    private Integer isUnit;

    /**
     * 单位名称
     */
    @Excel(name = "单位名称")
    private String unitName;

    /**
     * 组织机构代码
     */
    @Excel(name = "组织机构代码")
    private String socialCreditCode;

    /**
     * 体检状态
     */
    @Excel(name = "体检状态", readConverterExp = "0=已预约,1=体检中.2=已结束,3=已过期")
    private Integer tjStatus;

    /*体检结果图片*/
    private String tjResult;

    /*从业人员头像*/
    private String employeeAvatar;

    /*发证状态*/
    private Integer isSendCard;

    /**
     * 体检是否合格
     */
    @Excel(name = "体检是否合格", readConverterExp = "0=未体检,1=合格,2=不合格")
    private Integer qualify;

    /**
     * 修改是否合格日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date qualifyDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reserveBeginDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reserveEndDate;

    private Integer reserveType; // 预约类型=1自费预约,2免费预约(默认2-免费预约)

    private Long deptId; // 部门id,用于权现控制

    private String jobType; // 健康证类型

    private Long certificateNumber; // 健康证编号

    public Long getCertificateNumber() {
        return certificateNumber;
    }

    public Integer getReserveType() {
        return reserveType;
    }

    public void setReserveType(Integer reserveType) {
        this.reserveType = reserveType;
    }

    public void setCertificateNumber(Long certificateNumber) {
        this.certificateNumber = certificateNumber;
    }

    public String getJobType() {
        return jobType;
    }

    public void setJobType(String jobType) {
        this.jobType = jobType;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setReserveHospital(String reserveHospital) {
        this.reserveHospital = reserveHospital;
    }

    public String getReserveHospital() {
        return reserveHospital;
    }

    public void setReserveDate(Date reserveDate) {
        this.reserveDate = reserveDate;
    }

    public Date getReserveDate() {
        return reserveDate;
    }

    public void setReserveHour(String reserveHour) {
        this.reserveHour = reserveHour;
    }

    public String getReserveHour() {
        return reserveHour;
    }

    public void setIsUnit(Integer isUnit) {
        this.isUnit = isUnit;
    }

    public Integer getIsUnit() {
        return isUnit;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setSocialCreditCode(String socialCreditCode) {
        this.socialCreditCode = socialCreditCode;
    }

    public String getSocialCreditCode() {
        return socialCreditCode;
    }

    public Integer getTjStatus() {
        return tjStatus;
    }

    public void setTjStatus(Integer tjStatus) {
        this.tjStatus = tjStatus;
    }

    public Integer getQualify() {
        return qualify;
    }

    public void setQualify(Integer qualify) {
        this.qualify = qualify;
    }

    public Date getQualifyDate() {
        return qualifyDate;
    }

    public void setQualifyDate(Date qualifyDate) {
        this.qualifyDate = qualifyDate;
    }

    public String getTjResult() {
        return tjResult;
    }

    public void setTjResult(String tjResult) {
        this.tjResult = tjResult;
    }

    public Date getReserveBeginDate() {
        return reserveBeginDate;
    }

    public void setReserveBeginDate(Date reserveBeginDate) {
        this.reserveBeginDate = reserveBeginDate;
    }

    public Date getReserveEndDate() {
        return reserveEndDate;
    }

    public void setReserveEndDate(Date reserveEndDate) {
        this.reserveEndDate = reserveEndDate;
    }

    public String getEmployeeAvatar() {
        return employeeAvatar;
    }

    public void setEmployeeAvatar(String employeeAvatar) {
        this.employeeAvatar = employeeAvatar;
    }

    public Integer getIsSendCard() {
        return isSendCard;
    }

    public void setIsSendCard(Integer isSendCard) {
        this.isSendCard = isSendCard;
    }

    @Override
    public String toString() {
        return "HealthEmployeeReserve{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", idCard='" + idCard + '\'' +
                ", phone='" + phone + '\'' +
                ", reserveHospital='" + reserveHospital + '\'' +
                ", reserveDate=" + reserveDate +
                ", reserveHour='" + reserveHour + '\'' +
                ", isUnit=" + isUnit +
                ", unitName='" + unitName + '\'' +
                ", socialCreditCode='" + socialCreditCode + '\'' +
                ", tjStatus=" + tjStatus +
                ", tjResult='" + tjResult + '\'' +
                ", qualify=" + qualify +
                ", qualifyDate=" + qualifyDate +
                ", reserveBeginDate=" + reserveBeginDate +
                ", reserveEndDate=" + reserveEndDate +
                ", deptId=" + deptId +
                ", employeeAvatar=" + employeeAvatar +
                ", isSendCard=" + isSendCard +
                '}';
    }
}
